import { findAllCategory } from '@/api/category'
import { topCategory } from '@/api/constants'

// 分类模块
export default {
  namespaced: true,
  state () {
    return {
      // 分类信息集合
      list: topCategory.map(item => ({ name: item }))
    }
  },
  // 修改函数
  mutations: {
    setList (state, payload) {
      state.list = payload
    },
    show (state, theItem) {
      // 根据 theItem 的 id 查找到对应一级分类，改变 open 字段，显示
      const obj = state.list.find(item => item.id === theItem.id)
      obj.open = true
    },
    hide (state, theItem) {
      // 根据 theItem 的 id 查找到对应一级分类，改变 open 字段，隐藏
      const obj = state.list.find(item => item.id === theItem.id)
      obj.open = false
    }
  },
  // 异步操作函数
  actions: {
    async getList (store) {
      // 发送请求
      const { result } = await findAllCategory()
      // console.log(result)
      // 给一级分类加上一个控制二级分类显示隐藏的数据open
      result.forEach(item => { item.open = false })
      store.commit('setList', result)
    }
  }
}
